package com.tbit.uqbike.object.pojo.vo;

import com.tbit.uqbike.object.pojo.ParamDate;
import com.tbit.uqbike.webmanager.util.csv.annotations.Csv;
import com.tbit.uqbike.webmanager.util.csv.annotations.Sum;

import java.math.BigDecimal;

/**
 * 商户营收明细vo
 *
 * @Author:yanlun
 * @DATE: 2022/11/18
 */
public class AccountDayStatOperateDetailVO extends ParamDate {

    private Integer accountId;
    /**
     * 区域
     */
    @Csv(name = "区域")
    private String accountName;
    /**
     * 日期
     */
    @Csv(name = "日期")
    private String date;
    /**
     * 运营总收入
     */
    @Sum
    @Csv(name = "运营总收入")
    private BigDecimal opIncome;
    /**
     * 运营总收入笔数
     */
    @Sum
    @Csv(name = "运营总收入笔数")
    private Long opIncomeCount;
    /**
     * 运营总支出
     */
    @Sum
    @Csv(name = "运营总支出")
    private BigDecimal opExpend;
    /**
     * 运营总支出笔数
     */
    @Sum
    @Csv(name = "运营总支出笔数")
    private Long opExpendCount;
    /**
     * 骑行总收入
     */
    @Sum
    @Csv(name = "骑行总收入")
    private BigDecimal rideIncome;
    /**
     * 骑行总收入笔数
     */
    @Sum
    @Csv(name = "骑行总收入笔数")
    private Long rideIncomeCount;
    /**
     * 骑行总支出
     */
    @Sum
    @Csv(name = "骑行总支出")
    private BigDecimal rideExpend;
    /**
     * 骑行总支出笔数
     */
    @Sum
    @Csv(name = "骑行总支出笔数")
    private Long rideExpendCount;
    /**
     * 罚款总收入
     */
    @Sum
    @Csv(name = "罚款总收入")
    private BigDecimal fineIncome;
    /**
     * 罚款总收入笔数
     */
    @Sum
    @Csv(name = "罚款总收入笔数")
    private Long fineIncomeCount;
    /**
     * 罚款总支出
     */
    @Sum
    @Csv(name = "罚款总支出")
    private BigDecimal fineExpend;
    /**
     * 罚款总支出笔数
     */
    @Sum
    @Csv(name = "罚款总支出笔数")
    private Long fineExpendCount;
    /**
     * 骑行卡总收入
     */
    @Sum
    @Csv(name = "骑行卡总收入")
    private BigDecimal rideCardIncome;
    /**
     * 骑行卡总收入笔数
     */
    @Sum
    @Csv(name = "骑行卡总收入笔数")
    private Long rideCardIncomeCount;
    /**
     * 骑行卡总支出
     */
    @Sum
    @Csv(name = "骑行卡总支出")
    private BigDecimal rideCardExpend;
    /**
     * 骑行卡总支出笔数
     */
    @Sum
    @Csv(name = "骑行卡总支出笔数")
    private Long rideCardExpendCount;
    /**
     * 会员卡总收入
     */
    @Sum
    @Csv(name = "会员卡总收入")
    private BigDecimal vipCardIncome;
    /**
     * 会员卡总收入笔数
     */
    @Sum
    @Csv(name = "会员卡总收入笔数")
    private Long vipCardIncomeCount;
    /**
     * 会员卡总支出
     */
    @Sum
    @Csv(name = "会员卡总支出")
    private BigDecimal vipCardExpend;
    /**
     * 会员卡总支出笔数
     */
    @Sum
    @Csv(name = "会员卡总支出笔数")
    private Long vipCardExpendCount;
    /**
     * 免押卡总收入
     */
    @Sum
    @Csv(name = "免押卡总收入")
    private BigDecimal depositCardIncome;
    /**
     * 免押卡总收入记录
     */
    @Sum
    @Csv(name = "免押卡总收入记录")
    private Long depositCardIncomeCount;
    /**
     * 免押卡总支出
     */
    @Sum
    @Csv(name = "免押卡总支出")
    private BigDecimal depositCardExpend;
    /**
     * 免押卡总支出笔数
     */
    @Sum
    @Csv(name = "免押卡总支出笔数")
    private Long depositCardExpendCount;

    /**
     * 优惠券总收入
     */
    @Sum
    @Csv(name = "优惠券总收入")
    private BigDecimal couponCardIncome;
    /**
     * 优惠券总收入笔数
     */
    @Sum
    @Csv(name = "优惠券总收入笔数")
    private Long couponCardIncomeCount;
    /**
     * 优惠券总支出
     */
    @Sum
    @Csv(name = "优惠券总支出")
    private BigDecimal couponCardExpend;
    /**
     * 优惠券总支出笔数
     */
    @Sum
    @Csv(name = "优惠券总支出笔数")
    private Long couponCardExpendCount;

    @Sum
    @Csv(name = "设备数量")
    private Long machineCount;

    @Sum
    @Csv(name = "投放设备数量")
    private Long putInMachineCount;

    @Sum
    @Csv(name = "欠款补交订单总金额")
    private BigDecimal paymentOfOutstandingDebt;

    @Sum
    @Csv(name = "欠款补交订单数")
    private Long paymentOfOutstandingDebtCount;

    @Sum
    @Csv(name = "欠款订单总金额")
    private BigDecimal orderDebtMoney;

    @Sum
    @Csv(name = "欠款订单数")
    private Long orderDebtCount;

    @Sum
    @Csv(name = "新增用户数")
    private Long addUserCount;

    /**
     * 购卡总收入
     */
    private BigDecimal buyCardMoney;

    /**
     * 购卡总笔数
     */
    private Long buyCardCount;
    /**
     * 购卡总支出
     */
    private BigDecimal buyCardExpenditure;
    /**
     * 购卡总支出笔数
     */
    private Long buyCardExpenditureCount;




    public AccountDayStatOperateDetailVO() {
        fillData();
    }

    public Integer getAccountId() {
        return accountId;
    }

    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public BigDecimal getOpIncome() {
        return opIncome == null ? null : opIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setOpIncome(BigDecimal opIncome) {
        this.opIncome = opIncome;
    }

    public Long getOpIncomeCount() {
        return opIncomeCount;
    }

    public void setOpIncomeCount(Long opIncomeCount) {
        this.opIncomeCount = opIncomeCount;
    }

    public BigDecimal getOpExpend() {
        return opExpend == null ? null : opExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setOpExpend(BigDecimal opExpend) {
        this.opExpend = opExpend;
    }

    public Long getOpExpendCount() {
        return opExpendCount;
    }

    public void setOpExpendCount(Long opExpendCount) {
        this.opExpendCount = opExpendCount;
    }

    public BigDecimal getRideIncome() {
        return rideIncome == null ? null : rideIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setRideIncome(BigDecimal rideIncome) {
        this.rideIncome = rideIncome;
    }

    public Long getRideIncomeCount() {
        return rideIncomeCount;
    }

    public void setRideIncomeCount(Long rideIncomeCount) {
        this.rideIncomeCount = rideIncomeCount;
    }

    public BigDecimal getRideExpend() {
        return rideExpend == null ? null : rideExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setRideExpend(BigDecimal rideExpend) {
        this.rideExpend = rideExpend;
    }

    public Long getRideExpendCount() {
        return rideExpendCount;
    }

    public void setRideExpendCount(Long rideExpendCount) {
        this.rideExpendCount = rideExpendCount;
    }

    public BigDecimal getFineIncome() {
        return fineIncome == null ? null : fineIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setFineIncome(BigDecimal fineIncome) {
        this.fineIncome = fineIncome;
    }

    public Long getFineIncomeCount() {
        return fineIncomeCount;
    }

    public void setFineIncomeCount(Long fineIncomeCount) {
        this.fineIncomeCount = fineIncomeCount;
    }

    public BigDecimal getFineExpend() {
        return fineExpend == null ? null : fineExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setFineExpend(BigDecimal fineExpend) {
        this.fineExpend = fineExpend;
    }

    public Long getFineExpendCount() {
        return fineExpendCount;
    }

    public void setFineExpendCount(Long fineExpendCount) {
        this.fineExpendCount = fineExpendCount;
    }

    public BigDecimal getRideCardIncome() {
        return rideCardIncome == null ? null : rideCardIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setRideCardIncome(BigDecimal rideCardIncome) {
        this.rideCardIncome = rideCardIncome;
    }

    public Long getRideCardIncomeCount() {
        return rideCardIncomeCount;
    }

    public void setRideCardIncomeCount(Long rideCardIncomeCount) {
        this.rideCardIncomeCount = rideCardIncomeCount;
    }

    public BigDecimal getRideCardExpend() {
        return rideCardExpend == null ? null : rideCardExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setRideCardExpend(BigDecimal rideCardExpend) {
        this.rideCardExpend = rideCardExpend;
    }

    public Long getRideCardExpendCount() {
        return rideCardExpendCount;
    }

    public void setRideCardExpendCount(Long rideCardExpendCount) {
        this.rideCardExpendCount = rideCardExpendCount;
    }

    public BigDecimal getVipCardIncome() {
        return vipCardIncome == null ? null : vipCardIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setVipCardIncome(BigDecimal vipCardIncome) {
        this.vipCardIncome = vipCardIncome;
    }

    public Long getVipCardIncomeCount() {
        return vipCardIncomeCount;
    }

    public void setVipCardIncomeCount(Long vipCardIncomeCount) {
        this.vipCardIncomeCount = vipCardIncomeCount;
    }

    public BigDecimal getVipCardExpend() {
        return vipCardExpend == null ? null : vipCardExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setVipCardExpend(BigDecimal vipCardExpend) {
        this.vipCardExpend = vipCardExpend;
    }

    public Long getVipCardExpendCount() {
        return vipCardExpendCount;
    }

    public void setVipCardExpendCount(Long vipCardExpendCount) {
        this.vipCardExpendCount = vipCardExpendCount;
    }

    public BigDecimal getDepositCardIncome() {
        return depositCardIncome == null ? null : depositCardIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setDepositCardIncome(BigDecimal depositCardIncome) {
        this.depositCardIncome = depositCardIncome;
    }

    public Long getDepositCardIncomeCount() {
        return depositCardIncomeCount;
    }

    public void setDepositCardIncomeCount(Long depositCardIncomeCount) {
        this.depositCardIncomeCount = depositCardIncomeCount;
    }

    public BigDecimal getDepositCardExpend() {
        return depositCardExpend == null ? null : depositCardExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setDepositCardExpend(BigDecimal depositCardExpend) {
        this.depositCardExpend = depositCardExpend;
    }

    public Long getDepositCardExpendCount() {
        return depositCardExpendCount;
    }

    public void setDepositCardExpendCount(Long depositCardExpendCount) {
        this.depositCardExpendCount = depositCardExpendCount;
    }

    public BigDecimal getCouponCardIncome() {
        return couponCardIncome == null ? null : couponCardIncome.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setCouponCardIncome(BigDecimal couponCardIncome) {
        this.couponCardIncome = couponCardIncome;
    }

    public Long getCouponCardIncomeCount() {
        return couponCardIncomeCount;
    }

    public void setCouponCardIncomeCount(Long couponCardIncomeCount) {
        this.couponCardIncomeCount = couponCardIncomeCount;
    }

    public BigDecimal getCouponCardExpend() {
        return couponCardExpend == null ? null : couponCardExpend.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

    public void setCouponCardExpend(BigDecimal couponCardExpend) {
        this.couponCardExpend = couponCardExpend;
    }

    public Long getCouponCardExpendCount() {
        return couponCardExpendCount;
    }

    public void setCouponCardExpendCount(Long couponCardExpendCount) {
        this.couponCardExpendCount = couponCardExpendCount;
    }

    public Long getMachineCount() {
        return machineCount;
    }

    public void setMachineCount(Long machineCount) {
        this.machineCount = machineCount;
    }

    public Long getPutInMachineCount() {
        return putInMachineCount;
    }

    public void setPutInMachineCount(Long putInMachineCount) {
        this.putInMachineCount = putInMachineCount;
    }

    public BigDecimal getPaymentOfOutstandingDebt() {
        return paymentOfOutstandingDebt;
    }

    public void setPaymentOfOutstandingDebt(BigDecimal paymentOfOutstandingDebt) {
        this.paymentOfOutstandingDebt = paymentOfOutstandingDebt;
    }

    public Long getPaymentOfOutstandingDebtCount() {
        return paymentOfOutstandingDebtCount;
    }

    public void setPaymentOfOutstandingDebtCount(Long paymentOfOutstandingDebtCount) {
        this.paymentOfOutstandingDebtCount = paymentOfOutstandingDebtCount;
    }

    public BigDecimal getOrderDebtMoney() {
        return orderDebtMoney;
    }

    public void setOrderDebtMoney(BigDecimal orderDebtMoney) {
        this.orderDebtMoney = orderDebtMoney;
    }

    public Long getOrderDebtCount() {
        return orderDebtCount;
    }

    public void setOrderDebtCount(Long orderDebtCount) {
        this.orderDebtCount = orderDebtCount;
    }

    public Long getAddUserCount() {
        return addUserCount;
    }

    public void setAddUserCount(Long addUserCount) {
        this.addUserCount = addUserCount;
    }

    public BigDecimal getBuyCardMoney() {
        return buyCardMoney;
    }

    public void setBuyCardMoney(BigDecimal buyCardMoney) {
        this.buyCardMoney = buyCardMoney;
    }

    public Long getBuyCardCount() {
        return buyCardCount;
    }

    public void setBuyCardCount(Long buyCardCount) {
        this.buyCardCount = buyCardCount;
    }

    public BigDecimal getBuyCardExpenditure() {
        return buyCardExpenditure;
    }

    public void setBuyCardExpenditure(BigDecimal buyCardExpenditure) {
        this.buyCardExpenditure = buyCardExpenditure;
    }

    public Long getBuyCardExpenditureCount() {
        return buyCardExpenditureCount;
    }

    public void setBuyCardExpenditureCount(Long buyCardExpenditureCount) {
        this.buyCardExpenditureCount = buyCardExpenditureCount;
    }

    public void fillData() {
        BigDecimal parm = new BigDecimal(0);
        this.opIncome = this.opIncome == null ? parm : this.opIncome;
        this.opIncomeCount = this.opIncomeCount == null ? 0L : this.opIncomeCount;
        this.opExpend = this.opExpend == null ? parm : this.opExpend;
        this.opExpendCount = this.opExpendCount == null ? 0L : this.opExpendCount;
        this.rideIncome = this.rideIncome == null ? parm : this.rideIncome;
        this.rideIncomeCount = this.rideIncomeCount == null ? 0L : this.rideIncomeCount;
        this.rideExpend = this.rideExpend == null ? parm : this.rideExpend;
        this.rideExpendCount = this.rideExpendCount == null ? 0L : this.rideExpendCount;
        this.fineIncome = this.fineIncome == null ? parm : this.fineIncome;
        this.fineIncomeCount = this.fineIncomeCount == null ? 0L : this.fineIncomeCount;
        this.fineExpend = this.fineExpend == null ? parm : this.fineExpend;
        this.fineExpendCount = this.fineExpendCount == null ? 0L : this.fineExpendCount;
        this.rideCardIncome = this.rideCardIncome == null ? parm : this.rideCardIncome;
        this.rideCardIncomeCount = this.rideCardIncomeCount == null ? 0L : this.rideCardIncomeCount;
        this.rideCardExpend = this.rideCardExpend == null ? parm : this.rideCardExpend;
        this.rideCardExpendCount = this.rideCardExpendCount == null ? 0L : this.rideCardExpendCount;
        this.vipCardIncome = this.vipCardIncome == null ? parm : this.vipCardIncome;
        this.vipCardIncomeCount = this.vipCardIncomeCount == null ? 0L : this.vipCardIncomeCount;
        this.vipCardExpend = this.vipCardExpend == null ? parm : this.vipCardExpend;
        this.vipCardExpendCount = this.vipCardExpendCount == null ? 0L : this.vipCardExpendCount;
        this.depositCardIncome = this.depositCardIncome == null ? parm : this.depositCardIncome;
        this.depositCardIncomeCount = this.depositCardIncomeCount == null ? 0L : this.depositCardIncomeCount;
        this.depositCardExpend = this.depositCardExpend == null ? parm : this.depositCardExpend;
        this.depositCardExpendCount = this.depositCardExpendCount == null ? 0L : this.depositCardExpendCount;
        this.couponCardIncome = this.couponCardIncome == null ? parm : this.couponCardIncome;
        this.couponCardIncomeCount = this.couponCardIncomeCount == null ? 0L : this.couponCardIncomeCount;
        this.couponCardExpend = this.couponCardExpend == null ? parm : this.couponCardExpend;
        this.couponCardExpendCount = this.couponCardExpendCount == null ? 0L : this.couponCardExpendCount;
        this.machineCount = this.machineCount == null ? 0L : this.machineCount;
        this.putInMachineCount = this.putInMachineCount == null ? 0L : this.putInMachineCount;
    }
}
